from mcp.server.fastmcp import FastMCP
import secrets

mcp = FastMCP("Large Number Generator Service")

@mcp.tool()
def generate_large_number(bits: int) -> int:
    """随机生成指定二进制位数的大整数
    Args:
        bits: 生成的大整数的二进制位数（至少1位）
    Returns:
        指定二进制位数的大整数
    """
    if bits < 1:
        raise ValueError("位数不能小于1")
    # 生成安全随机数，最高位为1以保证位数准确
    return secrets.randbits(bits) | (1 << (bits - 1))

if __name__ == "__main__":
    mcp.run(transport="stdio")